﻿#pragma once
#include <cstdint>
#include <string>

#include "result.hpp"

class SystemTimeCtl
{
public:
    /**
     * @brief 同步系统时间（从网络时间服务器同步）
     * @param ntpServer NTP 服务器地址，默认为 "pool.ntp.org"
     * @return 是否同步成功
     */
    static cpp::Result<> syncTime(const std::string& ntpServer = "pool.ntp.org");

    /**
     * @brief 设置系统时间（毫秒时间戳）
     * @param timestamp 毫秒时间戳
     * @return 是否设置成功
     */
    static cpp::Result<> setTime(uint64_t timestamp);


    /**
     * @brief 获取当前系统时间（毫秒时间戳）
     * @return 毫秒时间戳
     */
    static uint64_t getCurrentTime();
};
